package org.lq.shopping.service;

import java.util.List;

import org.lq.shopping.base.BaseDao;
import org.lq.shopping.entity.ShopGoods;
import org.lq.shopping.entity.ShopInvoice;
/**
 * 商品信息业务接口
 * 2018年9月27日11:22:55
 * @author Quaint
 * @date 2018年9月27日
 */
public interface ShopGoodsService{
	
	/**
	 * 增加商品
	 * @param goods
	 * @return
	 */
	boolean addGoods(ShopGoods goods);
	/**
	 * 删除商品信息
	 * @param gid
	 * @return
	 */
//	boolean deleteGoods(int ...gsid);
	boolean deleteGoods(int gid);
	/**
	 * 修改商品信息
	 * @param goods
	 * @return
	 */
	boolean updataGoods(ShopGoods goods);
	
	/**
	 * 商品名称模糊查询分页
	 * @param pageIndex 显示页
	 * @param pageSize 每页显示几个
	 * @return
	 */
	List<ShopGoods> findGoodsPageByName(String name,int pageIndex, int pageSize);

	/**
	 * 商品价格区间查询分页
	 * @param pageIndex 显示页
	 * @param pageSize 每页显示几个
	 * @return
	 */
	List<ShopGoods> findGoodsPageByPrice(double min,double max,int pageIndex, int pageSize);
	/**
	 * 商品类型查询分页
	 * @param pageIndex 显示页
	 * @param pageSize 每页显示几个
	 * @return
	 */
	List<ShopGoods> findGoodsPageByType(int goodstypeid,int pageIndex, int pageSize);
	/**
	 * 根据品牌查询分页
	 * @param brand
	 * @return
	 */
	List<ShopGoods> findGoodsPageByBrand(String brand,int pageIndex, int pageSize);
	/**
	 * 查询所有分页
	 * @param pageIndex
	 * @param pageSize
	 * @return
	 */
	List<ShopGoods> findPage(int pageIndex, int pageSize);
	/**
	 * 总行数
	 * @return
	 */
	int getCount();
	
	/**
	 * 商品名称分页总行数
	 * @return
	 */
	int getCountByName(String name);
	/**
	 * 商品价格分页总行数
	 * @return
	 */
	int getCountByPrice(double min,double max);
	/**
	 * 商品类型分页总行数
	 * @return
	 */
	int getCountByType(int typeid);
	/**
	 * 商品品牌分页总行数
	 * @return
	 */
	int getCountByBrand(String barnd);
}
